// 正常情况下可以使用这种写法来定义一个对象的数据类型
// 但是如果该对象中有 10 个或者更多属性的时候，这种写法可读性就会非常差
let obj: {
    a: number;
    b: string;
} = {
    a: 1,
    b: '你好'
}

/*
    interface 接口
    接口： 接口就是为对象内部属性定义数据类型用的
    多个属性之间可以使用 ,逗号 ;分号 或者干脆不写都可以进行分割
    如果一个属性有可能是多数据类型我们可以使用 | 来定义属性的多种类型
    如果不确定属性的类型是什么，那么可以使用 any 来定义 any(任意数据类型)
    如果不确定这个属性有还是没有的时候，定义的时候可以在名称后加一个 ? 标记为可选
*/
interface iUser {
    name: string,
    age: number
    sex: string | boolean;
    h: any
    count?: string
}

// 正规给对象添加数据类型的写法
const user: iUser = {
    name: '张三',
    age: 18,
    sex: true,
    h: 175
}
const user2: iUser = {
    name: '李四',
    age: 20,
    sex: '女',
    h: 170,
    count: '2'
}


// 如何给一个数组添加数据类型？
let arr = [1, 2, 3, 4, 5, '你好', '世界']
